@@ -1,3 +1,5 @@ |
||
| 1 |
+ |
|
| 2 |
+ |
|
| 1 | 3 |
attachRatingHandler = -> |
| 2 | 4 |
|
| 3 | 5 |
# to set summernote object |
@@ -8,6 +10,9 @@ attachRatingHandler = -> |
||
| 8 | 10 |
summer_note.summernote |
| 9 | 11 |
# to set options |
| 10 | 12 |
height:300 |
| 13 |
+ onImageUpload: (files, editor, welEditable) -> |
|
| 14 |
+ sendFile files[0], editor, welEditable |
|
| 15 |
+ |
|
| 11 | 16 |
# toolbar: [ |
| 12 | 17 |
# ['insert', ['picture', 'link']], // no insert buttons |
| 13 | 18 |
# ["table", ["table"]], |
@@ -28,6 +33,23 @@ attachRatingHandler = -> |
||
| 28 | 33 |
# alert $('#post_content').code()
|
| 29 | 34 |
summer_note.val summer_note.code() |
| 30 | 35 |
true |
| 36 |
+ |
|
| 37 |
+sendFile = (file, editor, welEditable) -> |
|
| 38 |
+ data = new FormData() |
|
| 39 |
+ data.append("file", file)
|
|
| 40 |
+ $.ajax {
|
|
| 41 |
+ url: '/upload', |
|
| 42 |
+ data: data, |
|
| 43 |
+ cache: false, |
|
| 44 |
+ contentType: false, |
|
| 45 |
+ processData: false, |
|
| 46 |
+ type: 'POST', |
|
| 47 |
+ success: (data) -> |
|
| 48 |
+ editor.insertImage(welEditable, data.url) |
|
| 49 |
+ error: (data) -> |
|
| 50 |
+ editor.insertImage(welEditable, data.url) |
|
| 51 |
+ alert(data.url) |
|
| 52 |
+ } |
|
| 31 | 53 |
|
| 32 | 54 |
$(document).ready attachRatingHandler |
| 33 |
-$(document).on "page:load", attachRatingHandler |
|
| 55 |
+$(document).on "page:load", attachRatingHandler |
@@ -63,6 +63,14 @@ class BlogPostsController < ApplicationController |
||
| 63 | 63 |
format.json { head :no_content }
|
| 64 | 64 |
end |
| 65 | 65 |
end |
| 66 |
+ |
|
| 67 |
+ def upload |
|
| 68 |
+ @file = params[:file] |
|
| 69 |
+ @upload = Upload.create(:file => @file) |
|
| 70 |
+ @upload.save |
|
| 71 |
+ |
|
| 72 |
+ render(json: {:url => @upload.file.to_s })
|
|
| 73 |
+ end |
|
| 66 | 74 |
|
| 67 | 75 |
private |
| 68 | 76 |
# Use callbacks to share common setup or constraints between actions. |
@@ -7,6 +7,7 @@ RailsWebsiteTemplate::Application.routes.draw do |
||
| 7 | 7 |
get "admin/posts" => "admin_panel#posts", :as => :admin_posts |
| 8 | 8 |
get "admin/users" => "admin_panel#users", :as => :admin_users |
| 9 | 9 |
|
| 10 |
+ post "upload" => "blog_posts#upload", :as => :post_upload |
|
| 10 | 11 |
get "blog" => "blog_posts#index", :as => :blog |
| 11 | 12 |
get "post/:id" => "blog_posts#show", :as => :post |
| 12 | 13 |
resources :blog_posts, path: '/admin/posts' |